iT邦幫忙

2023 iThome 鐵人賽

DAY 4
0
自我挑戰組

從0到有學習JavaScript系列 第 4

第三章 型別、值和變數 問題筆記 Date

  • 分享至 

  • xImage
  •  

問題一、如何使用兩個 Date 物件來求得執行程式所花費毫秒數?

使用Date來標記現在時間的戳記:

console.log(Date.now());   //1695134905529 每個時間點執行此程式,數字都會不同

配合上題,如何使用Date來計算執行一個程式需要多少時間?


function runProgram() {
  for (let i = 0; i < 100000; i++) {}
}

let start = Date.now();

runProgram(); // 要計算執行時間的程式放在這裡
let end = Date.now();
let elapsed = end - start; // 執行程式經過的毫秒數 
console.log(elapsed); //7毫秒

問題二、使用Date來抓時間的漏洞是什麼?
如果改掉電腦時間,Date就會抓到不正確的時間了!

先將電腦時間調整到日本時區:
右下角顯示時間欄位>按右鍵> 選擇調整日期和時間> 將時區調整為「日本時區」
在網頁瀏覽器直接寫JavaScript測試Date物件:

new Date.getFullYear();  //2023  今年為2023年
new Date.getDay();       //3     顯示的時間周三 (顯示日本時區的日期)
//getDay執行後出現的數字,0-6 代表周日-週六,以此類推

所以使用Date來抓時間,有一個漏洞,如果將電腦時間改掉,就只會抓到更改掉的時間~

Reference:
https://developer.mozilla.org/zh-TW/docs/Web/JavaScript/Reference/Global_Objects/Date
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getDay


上一篇
第三章 型別、值和變數-問題筆記 toFixed
下一篇
第三章 型別、值和變數-問題筆記 進位制
系列文
從0到有學習JavaScript31
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言